package com.ssy.lingxi.order.service.feign;

/**
 * 报表服务Feign接口
 * @author 万宁
 * @version 2.0.0
 * @date 2021-07-23
 */
public interface IReportFeignService {

    /**
     * “提交订单”后，通知供应商会员有新订单
     * @param vendorMemberId 供应商会员Id
     * @param vendorRoleId   供应商会员角色Id
     * @param amount         订单金额
     */
    void reportVendorOrderAmountAsync(Long buyerMemberId, Long buyerRoleId, Long vendorMemberId, Long vendorRoleId, Double amount);

    /**
     * 发送采购商订单统计数量
     * @param buyerMemberId 采购会员Id
     * @param buyerRoleId    采购会员角色Id
     * @param decreaseBuyerOperateCode 要减少统计的操作
     * @param increaseBuyerOperateCode 要增加统计的操作
     */
    void reportBuyerOrderAsync(Long buyerMemberId, Long buyerRoleId, Integer decreaseBuyerOperateCode, Integer increaseBuyerOperateCode);

    /**
     * 发送采购商订单统计数量
     * @param buyerMemberId 采购会员Id
     * @param buyerRoleId    采购会员角色Id
     * @param decreaseBuyerOperateCode 要减少统计的操作
     * @param decreaseCount 要减少的数量
     * @param increaseBuyerOperateCode 要增加统计的操作
     * @param increseCount 要增加的数量
     */
    void reportBuyerOrderAsync(Long buyerMemberId, Long buyerRoleId, Integer decreaseBuyerOperateCode, Long decreaseCount, Integer increaseBuyerOperateCode, Long increseCount);

    /**
     * 发送供应商订单统计数据
     * @param vendorMemberId 供应会员Id
     * @param vendorRoleId 供应会员角色Id
     * @param decreaseVendorOperateCode 要减少统计的操作
     * @param increaseVendorOperateCode 要增加统计的操作
     */
    void reportVendorOrderAsync(Long vendorMemberId, Long vendorRoleId, Integer decreaseVendorOperateCode, Integer increaseVendorOperateCode);

    /**
     * 发送供应商订单统计数据
     * @param vendorMemberId 供应会员Id
     * @param vendorRoleId 供应会员角色Id
     * @param decreaseVendorOperateCode 要减少统计的操作
     * @param decreaseCount 要减少的数量
     * @param increaseVendorOperateCode 要增加统计的操作
     * @param increaseCount 要增加的数量
     */
    void reportVendorOrderAsync(Long vendorMemberId, Long vendorRoleId, Integer decreaseVendorOperateCode, Long decreaseCount, Integer increaseVendorOperateCode, Long increaseCount);
}
